/*
	Copyright 2012 J. Gohlke
	Licensed under the Apache License, Version 2.0 (the
	"License"); you may not use this file except in
	compliance with the License. You may obtain a copy
	of the License at

	http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in
	writing, software distributed under the License is
	distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
	OR CONDITIONS OF ANY KIND, either express or
	implied. See the License for the specific language
	governing permissions and limitations under the
	License
 */
package com.gohlke.lwo.io;

/**
 *
 * @author David Wise
 */
public enum EnvelopeChunkId
{
    /*
     * 
     */
    TYPE,
    /*
     * The pre-behavior for an envelope defines the
     * signal value for times before the first key
     */
    PRE,
    /*
     * The post-behavior determines the signal value
     * for times after the last key
     */
    POST,
    /*
     * The value of the envelope at the specified time in seconds. 
     * The signal value between keyframes is interpolated. 
     * The time of a keyframe isn't restricted to integer frames
     */
    KEY,
    /*
     * Defines the interpolation between the most recent KEY chunk 
     * and the KEY immediately before it in time. The type identifies 
     * the interpolation algorithm and can be STEP, LINE, TCB (Kochanek-Bartels),
     * HERM (Hermite), BEZI (1D Bezier) or BEZ2 (2D Bezier). 
     * Different parameters are stored for each of these
     */
    SPAN,
    /*
     * Channel modifiers can be associated with an envelope. 
     * Each channel chunk contains the name of the plug-in and some flag bits. 
     * Only the first flag bit is defined; if set, the plug-in is disabled. 
     * The data that follows this, if any, is owned by the plug-in
     */
    CHAN,
    /*
     * An optional name for the envelope. 
     * LightWave® itself ignores the names of surface envelopes, 
     * but plug-ins can browse the envelope database by name
     */
    NAME
}
